﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.creditos.be.liclSolcred;

namespace com.creditos.dao.sql.liclSolcred
{
    public class ParametrosBasicosDAO
    {
        public static List<ParametrosBasicosBE> Listar()
        {
            List<ParametrosBasicosBE> lstParametro = new List<ParametrosBasicosBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerListaVariables";
            oCmd.AddParameter("@Accion", 1);
            lstParametro = (List<ParametrosBasicosBE>)ElManager.EjecutarStore<ParametrosBasicosBE>(oCmd, DataBase.CREDITO_WEB);
            return lstParametro;
        }


        public static List<ParametrosBasicosBE> ActualizarParametroBasico(ParametrosBasicosBE oParametrosBasicos)
        {
            List<ParametrosBasicosBE> lstParametro = new List<ParametrosBasicosBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ActualizarParametroBasico";
            cmd.AddParameter("@Accion", oParametrosBasicos.Accion);
            cmd.AddParameter("@CodPlantilla", oParametrosBasicos.CodPlantilla);
            cmd.AddParameter("@DesPlantilla", oParametrosBasicos.DescripcionPlantilla);                        

            lstParametro = (List<ParametrosBasicosBE>)ElManager.EjecutarStore<ParametrosBasicosBE>(cmd, DataBase.MOTOREGLA_WEB);
          
            return lstParametro;

        }

        public static void ActualizarParametroBasicoVariable(List<ParametrosBasicosBE> lstParametrosBasicos)
        {
            for (int i = 0; i < lstParametrosBasicos.Count; i++)
            {

            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ActualizarParametroBasicoVariable";
            cmd.AddParameter("@Accion", lstParametrosBasicos[i].Accion);
            cmd.AddParameter("@CodPlantilla", lstParametrosBasicos[i].CodPlantilla);
            cmd.AddParameter("@CodTipoIntegrante", lstParametrosBasicos[i].CodTipoIntegrante);
            cmd.AddParameter("@CodVariable", lstParametrosBasicos[i].Codigo);
            cmd.AddParameter("@CodTipoAnalisis", lstParametrosBasicos[i].CodTipoAnalisis);
            cmd.AddParameter("@ValRangoInicial", lstParametrosBasicos[i].RangoInicial);
            cmd.AddParameter("@ValRangoFinal", lstParametrosBasicos[i].RangoFinal);
            cmd.AddParameter("@FlagEditable", lstParametrosBasicos[i].FlagEditable);
            cmd.AddParameter("@FlagObligatorio", lstParametrosBasicos[i].FlagObligatorio);
            cmd.AddParameter("@FlagActivo", lstParametrosBasicos[i].FlagActivo);
            cmd.AddParameter("@CodResultado", lstParametrosBasicos[i].CodResultado);
            cmd.AddParameter("@CodUsuario", 1);

            ElManager.EjecutarStore<object>(cmd, DataBase.MOTOREGLA_WEB);      
           
            }
        }

        public static List<ParametrosBasicosBE> ListarResumenParametrosBasicos()
        {
            List<ParametrosBasicosBE> lstParametro = new List<ParametrosBasicosBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerListaParametroBasico";
            oCmd.AddParameter("@Accion", 1);
            lstParametro = (List<ParametrosBasicosBE>)ElManager.EjecutarStore<ParametrosBasicosBE>(oCmd, DataBase.MOTOREGLA_WEB);
            return lstParametro;
        }

        public static List<ParametrosBasicosBE> ObtenerParametroBasico(ParametrosBasicosBE oParametrosBasicos)
        {
            List<ParametrosBasicosBE> lstParametro = new List<ParametrosBasicosBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerParametroBasico";
            cmd.AddParameter("@Accion", 1);
            cmd.AddParameter("@CodPlantilla", oParametrosBasicos.CodPlantilla);            
            lstParametro = (List<ParametrosBasicosBE>)ElManager.EjecutarStore<ParametrosBasicosBE>(cmd, DataBase.MOTOREGLA_WEB);
            return lstParametro;

        }

        public static List<ParametrosBasicosBE> ObtenerParametroBasicoVariable(ParametrosBasicosBE oParametrosBasicos)
        {
            List<ParametrosBasicosBE> lstParametro = new List<ParametrosBasicosBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerParametroBasicoVariable";
            cmd.AddParameter("@Accion", oParametrosBasicos.Accion);
            cmd.AddParameter("@CodPlantilla", oParametrosBasicos.CodPlantilla);
            cmd.AddParameter("@CodIntegrante", oParametrosBasicos.CodTipoIntegrante);
            cmd.AddParameter("@CodVariable", oParametrosBasicos.CodVariableDetalle);            
            lstParametro = (List<ParametrosBasicosBE>)ElManager.EjecutarStore<ParametrosBasicosBE>(cmd, DataBase.MOTOREGLA_WEB);
            return lstParametro;

        }

    }
}
